package com.bmob.lover.ui.fragment.lol

import android.os.Bundle
import android.view.View
import com.chad.library.adapter.base.BaseQuickAdapter
import com.theone.common.constant.BundleConstant
import com.theone.common.ext.getValue
import com.bmob.lover.data.constant.LOLConstant
import com.bmob.lover.data.model.bean.lol.LOLArticle
import com.bmob.lover.data.model.bean.lol.LOLBean
import com.bmob.lover.ui.adapter.LOLArticleAdapter
import com.bmob.lover.ui.fragment.WebFragment
import com.bmob.lover.ui.fragment.base.BasePagerFragment
import com.bmob.lover.viewmodel.request.LOLRequestViewModel

//  ┏┓　　　┏┓
//┏┛┻━━━┛┻┓
//┃　　　　　　　┃
//┃　　　━　　　┃
//┃　┳┛　┗┳　┃
//┃　　　　　　　┃
//┃　　　┻　　　┃
//┃　　　　　　　┃
//┗━┓　　　┏━┛
//    ┃　　　┃                  神兽保佑
//    ┃　　　┃                  永无BUG！
//    ┃　　　┗━━━┓
//    ┃　　　　　　　┣┓
//    ┃　　　　　　　┏┛
//    ┗┓┓┏━┳┓┏┛
//      ┃┫┫　┃┫┫
//      ┗┻┛　┗┻┛
/**
 * @author The one
 * @date 2021-04-26 16:19
 * @describe TODO
 * @email 625805189@qq.com
 * @remark
 */
class LOLItemFragment private constructor():BasePagerFragment<LOLArticle, LOLRequestViewModel>()
{

    companion object{
        fun newInstance(bean: LOLBean):LOLItemFragment{
            return LOLItemFragment().apply {
                arguments = Bundle().apply {
                    putParcelable(BundleConstant.DATA, bean)
                }
            }
        }
    }

    private val mLOLBean:LOLBean? by getValue(BundleConstant.DATA)

    override fun initData() {
        super.initData()
        getViewModel().mBean = mLOLBean
    }

    override fun createAdapter(): BaseQuickAdapter<LOLArticle, *> = LOLArticleAdapter()

    override fun onItemClick(adapter: BaseQuickAdapter<*, *>, view: View, position: Int) {
        val item = adapter.getItem(position) as LOLArticle
        if(mLOLBean?.type == LOLConstant.TYPE_VIDEO){
//            startWebView(item.articleUrl)
            startFragment(WebFragment.newInstance(item))
        }else{
            startWebFragment(item)
        }
    }
}